package com.hehe.ConfigInterceptor;

import org.springframework.context.annotation.Configuration;
import org.springframework.util.ResourceUtils;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import org.springframework.beans.factory.annotation.Value;

@Configuration
public class ResourceConfig implements WebMvcConfigurer {
    /*
     * 图片保存路径，自动从yml文件中获取数据
     *   示例： E:/images/
     */
    @Value("${file.upload.path}")
    private String fileSavePath;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        // 配置文件系统中的资源映射
        // 将访问路径 /images/ 映射到文件系统的 E:/xxxxxxxxx/ 目录。
        registry.addResourceHandler("/images/**")
                .addResourceLocations("file:" + fileSavePath);

        // 配置 classpath 资源映射
        // 将访问路径 /static/ 映射到 classpath 的 static 目录
        registry.addResourceHandler("/static/**")
                .addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX + "/static/");

        // 如果需要模板文件访问：
        // 如果需要访问模板文件，则映射 /templates/ 路径。
        registry.addResourceHandler("/templates/**")
                .addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX + "/templates/");
    }
}
